Singular value decomposition (SVD) is a technique that can be used to obtain a lower-dimensional approximation of a dataset. More specifically, given a set of data points, an SVD seeks to find a representation of the data points (i.e., a lower-dimensional subspace) that minimizes the average squared distance between the data points and their lower-dimensional representations. There are, however, a number of drawbacks associated with conventional techniques for SVD, technical solutions to which are described herein.